#include "fastdds.h"

CDomainParticipantFactory* get_instance() {
	FastDDS_DomainParticipantFactory* instance = FastDDS_get_instance();
	return (CDomainParticipantFactory*) instance;
}

CDomainParticipant* create_participant(CDomainParticipantFactory* self) {
	if(self && self->create_participant) {
		return self->create_participant(self);
	}
	return nullptr;
}

void delete_participant(CDomainParticipantFactory* self, CDomainParticipant* component) {
	if(self && self->delete_participant) {
		return self->delete_participant(self, component);
	}
}

CPublisher* create_publisher(CDomainParticipant* self, CQosPolicy* qos_list, CPublisherListener* listener, CStatusKind* mask) {
	if(self && self->create_publisher) {
		return self->create_publisher(self, qos_list, listener, mask);
	}
}




